/////////////
///////// REGISTRATION 
/////////
var ajaxLock = false;

function checkLogin(){
    var login = $('#reg_login').val();

    if (login.length < 5 || login.length > 50) {
        $('#login_StatusPic').attr("src", "core/images/misc/error.png");
        $('#isValidLogin').val("false");
        showModalWindow("Сообщение", "Длинна логина должна быть от 5 до 50 символов", 500, 200);
        return;
    } 

    if (!ajaxLock) {
        ajaxLock = true;

        $('#login_StatusPic').attr("src", "core/images/misc/ajax-loader.gif")
        $('#login_StatusPic').css("display", "inline");
        $.ajax({
            url: "core/ajax.jsp",
            data: 
            {
                "action":"isLoginExists",
                "login":login
            },
            type: "POST",
            dataType: "json",
            async: "false",
            success: function(data){
                if (data.userLogin == "login_free") {
                    $('#login_StatusPic').attr("src", "core/images/misc/ok.png");
                    $('#isValidLogin').val("true");
                } else {
                    $('#login_StatusPic').attr("src", "core/images/misc/error.png");
                    $('#isValidLogin').val("false");
                }
                
                if(data.result == "login_wrong"){
                    $('#isValidLogin').val("false");
                    showModalWindow("Сообщение", "Логин может содержать только латинские символы", 500, 200);
                    
                }
                if(data.userLogin == "login_used"){
                    $('#isValidLogin').val("false");
                    showModalWindow("Сообщение", "Логин <b>"+login+"</b> уже занят", 500, 200);
                    
                }
            }
        }); 
        ajaxLock = false;
    }else{
        alert("ajaxLock");
    }
}

function checkEmail(){
    var email = $("#reg_email").val();
    
    if (email.length > 255) {
        $('#email').attr("src", "core/images/misc/error.png");
        $('#isValidEmail').val("false");
        showModalWindow("Сообщение", "Длинна Email должна быть больше 255 символов", 500, 200);
        return;
    }     
    
    if (!ajaxLock) {
        ajaxLock = true;
        $('#email_StatusPic').attr("src", "core/images/misc/ajax-loader.gif")
        $('#email_StatusPic').css("display", "inline");            
        $.ajax({
            url: "core/ajax.jsp",
            data: 
            {
                "action":"isEmailExists",
                "email":email
            },
            type: "POST",
            dataType: "json",
            async: "false",
            success: function(data){
                if (data.userEmail == "email_free") {
                    $('#email_StatusPic').attr("src", "core/images/misc/ok.png");
                    $('#isValidEmail').val("true");
                } else {
                    $('#email_StatusPic').attr("src", "core/images/misc/error.png");
                    $('#isValidEmail').val("false");
                }
                if(data.result == "email_wrong"){
                    $('#isValidEmail').val("false");
                }
                if(data.result == "email_used"){
                    $('#isValidEmail').val("false");
                    showModalWindow("Сообщение", "<b>"+email+"</b> уже используется, укажите другой email", 500, 200);
                }                 
            }
        });
        ajaxLock = false;
    }else{
        alert("ajaxLock");
    }
    checkRegSubmit();
}

function checkPass(){
    if (($('#reg_pass_1').val() != $('#reg_pass_2').val()) || $('#reg_pass_1').val().length < 5 || $('#reg_pass_1').val().length > 255 ) {
        $('#pass2_StatusPic').attr("src", "core/images/misc/error.png");
        $('#isValidPass').val("false");
    } else {
        $('#pass2_StatusPic').attr("src", "core/images/misc/ok.png");
        $('#isValidPass').val("true");
    }
    checkRegSubmit();
}

function checkRegSubmit(){
    if ($('#isValidLogin').val() == "false" || $('#isValidEmail').val() == "false" || $('#isValidPass').val() == "false") {
        $("#btnRegSubmit").attr("disabled", "disabled");
    } else {
        $("#btnRegSubmit").removeAttr("disabled");
    }
}

function doRegister(){
    login = $('#reg_login').val();
    email = $('#reg_email').val();
    
    if ($('#reg_pass_1').val().length < 5 || $('#reg_pass_1').val().length > 255) {
        showModalWindow("Сообщение", "Пароль должен быть от 5 до 255 символов", 500, 200);
    }else{
        pass  = hex_md5($('#reg_pass_1').val());
        
        if (!ajaxLock) {
            ajaxLock = true;
            $.ajax({
                url: "core/ajax.jsp",
                data: 
                {
                    "action":"doRegister",
                    "login":login,
                    "email":email,
                    "pass":pass
                },
                type: "POST",
                dataType: "json",
                async: "false",
                success: function(data){
                    if (data.result == "success") {
                        showModalWindowRedirect("Регистрация окончена", "Теперь Вы можете авторизироваться<br /><br />Ваш логин: <b>" + login + "</b>", "auth.jsp",500, 200);
                    }else{
                        showModalWindow("Ошибка регистрации", "Обработка данных на сервере закончилаь неудачей. Проверте корректность вводимых значений и попробуйте еще", 500, 200);
                    } 
                }
            });
            ajaxLock = false;        
        } else {
            alert("ajaxLock");
        }
    }
}